extends MarginContainer

class_name 角色技能UI

@export var 技能按钮场景: PackedScene
@onready var 技能栏: HBoxContainer = %技能栏


func _ready() -> void:
	游戏管理器.信号_变更选中的角色.connect(更新角色的技能栏)
	回合管理器.信号_切换回合.connect(更新技能栏)


func 更新技能栏(state):
	if not 回合管理器.是否是玩家回合:
		# 清空技能栏
		for node in 技能栏.get_children():
			node.queue_free()
		return 
	
	更新角色的技能栏(游戏管理器.选中的角色)	

func 更新角色的技能栏(角色:角色单位):
	
	# 清空技能栏
	for node in 技能栏.get_children():
		node.queue_free()
		
	print("更新角色的技能栏")	
	
	# 为每个技能创建一个按钮	
	for 技能 in 角色.技能管理器.技能集合:
		var 技能按钮: = 技能按钮场景.instantiate()
		技能栏.add_child(技能按钮)
		技能按钮.setup(技能)
		
		if 技能.名称=="移动":
			print("技能按钮._on_pressed()")
			技能按钮._on_pressed()
		
	pass 
